/**
 * 系统相关工具函数
 */

/**
 * 获取系统信息
 * @returns {Object} - 系统信息对象
 */
export const getSystemInfo = () => {
  try {
    return uni.getSystemInfoSync()
  } catch (e) {
    console.error('获取系统信息失败：', e)
    return null
  }
}

/**
 * 获取网络类型
 * @param {Function} callback - 网络类型变化回调
 * @returns {Promise} - 返回网络类型
 */
export const getNetworkType = (callback) => {
  return new Promise((resolve, reject) => {
    uni.getNetworkType({
      success: (res) => {
        resolve(res.networkType)
        
        // 监听网络状态变化
        if (callback) {
          uni.onNetworkStatusChange((res) => {
            callback(res.networkType)
          })
        }
      },
      fail: (err) => {
        reject('获取失败')
      }
    })
  })
}